package ooday03;



public class InterfaceDemo {
    public static void main(String[] args) {
         //Inter o =new Inter();//编译错误，接口不能被实例化
    }
}

//因为类和接口是并列关系 所有不能再类里面写接口
//演示接口的语法
interface Inter{
    public abstract void show();//注意抽象方法没有方法体，
    public abstract void test();//接口里的方法默认都是抽象方法,前面默认有public abstract，接口默认是公开抽象的
    //void  say(){}//编译错误，接口里的方法默认都是抽象方法，抽象方法不能有方法体
}
//演示接口的实现
/*接口是需要被实现的，实现类必须重写接口里的所有抽象方法*/
class InterImpl implements Inter{
    public void  show(){//注意：重写接口中的方法时，必须加public
    }
    public void test(){}
}

//演示接口的多实现
interface Inter1{
    void show();
}
interface Inter2{

    void test();
}
abstract class Aoo{//默认同包
    abstract void say();
}
class Boo extends Aoo implements Inter1, Inter2{//一定要先继承再实现
    public void show(){}
    public void test(){}
    void say(){}//重写接口里的方法必须假public，类里面的可以不加public
    //因为派生类BOO和AOO都在同一个包中，BOO访问权限大于等于AOO
}

//演示接口继承接口
interface Inter3{
    void show();
}
interface Inter4 extends Inter3{//可以继承多个接口
    void test();
}
class Coo implements Inter4{
    public void show(){}
    public void test(){}
}

